(when (>= (javaVersion T) (1 7) )
  (de functionalInterfaceAsMethodHandle (FunctionalInterface . @)
    (let Class (thread FunctionalInterface
                 (java "getClass")
                 (java "getInterfaces")
                 arrayAsList
                 car)
      (thread FunctionalInterface
        (constantMethodHandle Class)
        (composeMethodHandle
          (pass functionalMethodHandle Class) ) ) ) ) )